package com.ryenlii.datatrans.core.util;

import org.apache.pdfbox.Loader;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class PDFImageReader {

    public static void main(String[] args) {
        // try {
        //     // 读取PDF文件
        //     PDDocument document = Loader.loadPDF(new File("D:\\data\\46870606-4e12-4646-ba09-39a40cc2599d.pdf"));
        //
        //     // 获取所有的图片页
        //
        //     List<PDPage> pages = ;
        //
        //     // 遍历每个页面，提取图片对象
        //     List<PDImageXObject> images = new ArrayList<>();
        //     for (PDPage page : pages) {
        //         PDResources resources = page.getResources();
        //         for (COSName name : resources.getXObjectNames()) {
        //             PDXObject xobject = resources.getXObject(name);
        //             if (xobject instanceof PDImageXObject) {
        //                 images.add((PDImageXObject) xobject);
        //             }
        //         }
        //     }
        //
        //     // 遍历图片对象列表，保存为图片文件
        //     for (int i = 0; i < images.size(); i++) {
        //         PDImageXObject image = images.get(i);
        //         BufferedImage bufferedImage = image.getImage();
        //         ImageIO.write(bufferedImage, "png", new File("path/to/save/image" + i + ".png"));
        //     }
        //
        //     // 关闭PDF文件
        //     document.close();
        // } catch (IOException e) {
        //     e.printStackTrace();
        // }
    }

}